1. Field of the the Invention
This invention relates to random access memories and more particularly, but not by way of limitation, to testing the refresh function in a random access memory.
2. Description of the Prior Art
Basically the refresh function is required in dynamic memories to keep data from being lost as a result of charge leaking off memory cells over a period of time. The charge will leak off over a period of time and it is periodically restored back to its initial value by a function called "refresh." This refresh function operates on one row of memory at a time or with certain groupings of maybe two or four rows, but normally a very small fraction of the total number of rows. It is necessary to have some means, either internal within the chip or external within the system, of cycling through all the rows to refresh all of the rows within some period of time, typically in the industry about 2 milliseconds, before any given row must be refreshed again.
In the case of many random access memories (RAMs) to date, the refresh counter has been external; that is, there is a counter off the chip which cycles through and keeps track of which row was most recently refreshed and increments and refreshes the next row during the next refresh cycle. Thus, the refresh counter is required to cycle through all the rows, one row at a time, or sometimes possibly two or four rows at a time. The counter keeps track of what row has been refreshed, and cycles through until all of the rows have been refreshed within some period of time, again say 2 milliseconds. The cycle then continues, so a cycle of row n followed by row n+1 followed by row n+2, etc. is performed until all the way through to row n again within 2 milliseconds, repeatedly.
To test the functionality of a random access memory without an internal refresh counter is fairly straightforward. A variety of input data patterns are written into the memory and then read out to see that they exist in their entirety exactly as written. With the proper choice of patterns, this test confirms that all circuitry performs properly including the row selection and column selection circuitry. In addition, in most memory designs, such a test also confirms that a refresh function occurs on the selected row since in this case selection of a given row automatically refreshes that row. However, other RAMs have a refresh counter on the chip, and there is a very real problem in testing the refresh function on this part. The output of the refresh counter cannot be read directly. A definitive test requires the write-in of data followed by a waiting period of at least long enough that the very best bit, that is a bit that has the very longest charge retention time, will guarantee to fail. When an industry specification is 2 milliseconds, meaning that all of the bits will hold data for at least 2 milliseconds, many of the bits will hold data for 200 milliseconds, or even longer. Thus, a refresh cycle at 100 millisecond intervals may show that no bits have failed. Yet, that does not mean that there is not a row that was skipped by the counter as all of the bits in that row may have happened to have a refresh time that exceeded 100 milliseconds.
If there is a potential failure at 200 milliseconds, or maybe 500 milliseconds, a situation is reached where there must be a compromise between a very long test time and not absolutely guaranteeing that the part will work. To absolutely guarantee that the refresh function of the part works would require a wait long enough to be absolutely certain that a good bit would have failed without refresh. Therefore, refreshing a long enough time to guarantee that the refresh function works means taking a very long time in a test that is using some very expensive equipment. Further, less time is desirable to have a greater manufacturing throughput.